Systems and methods for generating multiple registrations

ABSTRACT

Systems and methods for generating multiple registrations is provided. An image depicting a portion of a patient&#39;s anatomy and a tracking device affixed to an accurate robot may be received. A first registration of a patient coordinate space to a robotic coordinate space may be generated based on the image. A second registration of the patient coordinate space to a navigation coordinate space based at least in part on a position of second markers on the tracking device detected by a navigation system may be generated. The first registration and the second registration may be independent of each other.

CROSS REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.63/184,526, filed on May 5, 2021, and entitled “Systems and Methods forGenerating Multiple Registrations”, which application is incorporatedherein by reference in its entirety.

FIELD

The present technology generally relates to registration for a surgicalprocedure, and relates more particularly to generating multipleregistrations for a surgical procedure.

BACKGROUND

Navigation systems may guide a surgeon or other medical provider incarrying out a surgical procedure, or may complete one or more surgicalprocedures. The navigation system may use a registration process tocorrelate a patient to the navigation system. Imaging may be used to aidin the registration process.

SUMMARY

Example aspects of the present disclosure include:

A method for dual registration according to at least one embodiment ofthe present disclosure comprises receiving an image depicting a portionof a patient's anatomy and a tracking device affixed to an accuraterobot, the tracking device having first markers visible in the image andsecond markers visible to a navigation system; generating a firstregistration of a patient coordinate space to a robotic coordinate spacebased on the image; generating a second registration of the patientcoordinate space to a navigation coordinate space based at least in parton a position of the second markers detected by the navigation system;wherein the first registration and the second registration areindependent of each other.

Any of the aspects herein, wherein the first registration is also basedon information about a pose of the accurate robot in the image.

Any of the aspects herein, wherein the image is an X-ray image.

Any of the aspects herein, further comprising generating a thirdregistration of the robotic coordinate space to the navigationcoordinate space based on the first registration.

Any of the aspects herein, further comprising generating a fourthregistration of the navigation coordinate space to the roboticcoordinate space based on the second registration. Any of the aspectsherein, further comprising comparing the third registration to thefourth registration to yield an error determination.

Any of the aspects herein, further comprising verifying an accuracy ofthe first registration or the second registration by causing theaccurate robot or a navigated tool, respectively, to contact a knownpoint relative to the patient's anatomy.

Any of the aspects herein, wherein the known point relative to thepatient's anatomy is a point on an anatomical feature of the patient'sanatomy.

Any of the aspects herein, further comprising: comparing a first toolpose of a navigated tool with a predetermined tool pose, the first toolpose detected by the navigation system while the navigated tool is atleast partially supported by the accurate robot; and generating an alertwhen the first tool pose does not match the predetermined tool pose.

Any of the aspects herein, further comprising: defining a single pointin space using the first registration to yield a first position;defining the single point in space using the second registration toyield a second position; quantifying a difference between the firstposition and the second position; and comparing the difference to apredetermined threshold.

A system for generating registrations according to at least oneembodiment of the present disclosure comprises a tracking device affixedto an accurate robot, the tracking device comprising first markersvisible to an imaging device and second markers visible to a navigationsystem; a processor; and a memory storing data for processing by theprocessor, the data, when processed, causing the processor to: registera patient coordinate system to a robotic coordinate system, based on animage depicting an anatomical portion of a patient and the trackingdevice, to yield a first registration; and register the patientcoordinate system to a navigation coordinate system, based at least inpart on a position of the second markers detected by the navigationsystem, to yield a second registration; wherein the first registrationand the second registration are independent of each other.

Any of the aspects herein, wherein the memory stores further data forprocessing by the processor that, when processed, causes the processorto: generate instructions for causing the accurate robot to contact afiducial associated with the patient, using the first registration.

Any of the aspects herein, wherein the memory stores further data forprocessing by the processor that, when processed, causes the processorto: generate instructions for guiding a navigated tool to contact afiducial associated with the patient, using the second registration.

Any of the aspects herein, wherein the memory stores further data forprocessing by the processor that, when processed, causes the processorto: quantify an error between the first registration and the secondregistration; and generate an alert if the quantified error exceeds apredetermined threshold.

Any of the aspects herein, wherein the memory stores further data forprocessing by the processor that, when processed, causes the processorto: identify, when the quantified error exceeds a predeterminedthreshold, whether the quantified error is attributable to the firstregistration, the second registration, or a movement of the patient'sanatomy.

Any of the aspects herein, wherein the memory stores further data forprocessing by the processor that, when processed, causes the processorto: verify an accuracy of the first registration or the secondregistration.

Any of the aspects herein, wherein the verifying comprises: determiningwhether the accurate robot, when positioned based on the firstregistration, and a navigated tool, when positioned based on the secondregistration, reach a predetermined position relative to the patient'sanatomy.

Any of the aspects herein, wherein the verifying occurs automatically.

A system according to at least one embodiment of the present disclosurecomprises an imaging device; a processor; and a memory storing data forprocessing by the processor that, when processed, causes the processorto: receive, from the imaging device, an image depicting a portion of apatient's anatomy and a tracking device affixed to an accurate robot,the tracking device having first markers visible in the image and secondmarkers visible to a navigation system; correlate a robot coordinatesystem and a patient coordinate system, based on the image and a knownpose of the accurate robot, to yield a first registration; correlate anavigation coordinate system and the patient coordinate system, based ona position of the second markers as detected by the navigation systemand the image, to yield a second registration; and control one of theaccurate robot and a navigated tool based on the first registration orthe second registration, respectively.

Any of the aspects herein, wherein the memory stores further data forprocessing by the processor that, when processed, causes the processorto: detect an error in at least one of the first registration and thesecond registration; and identify whether the error is attributable tothe first registration, the second registration, or a change in pose ofthe patient's anatomy.

Any aspect in combination with any one or more other aspects.

Any one or more of the features disclosed herein.

Any one or more of the features as substantially disclosed herein.

Any one or more of the features as substantially disclosed herein incombination with any one or more other features as substantiallydisclosed herein.

Any one of the aspects/features/embodiments in combination with any oneor more other aspects/features/embodiments.

Use of any one or more of the aspects or features as disclosed herein.

It is to be appreciated that any feature described herein can be claimedin combination with any other feature(s) as described herein, regardlessof whether the features come from the same described embodiment.

The details of one or more aspects of the disclosure are set forth inthe accompanying drawings and the description below. Other features,objects, and advantages of the techniques described in this disclosurewill be apparent from the description and drawings, and from the claims.

The phrases “at least one”, “one or more”, and “and/or” are open-endedexpressions that are both conjunctive and disjunctive in operation. Forexample, each of the expressions “at least one of A, B and C”, “at leastone of A, B, or C”, “one or more of A, B, and C”, “one or more of A, B,or C” and “A, B, and/or C” means A alone, B alone, C alone, A and Btogether, A and C together, B and C together, or A, B and C together.When each one of A, B, and C in the above expressions refers to anelement, such as X, Y, and Z, or class of elements, such as X₁-X_(n),Y₁-Y_(m), and Z₁-Z_(o), the phrase is intended to refer to a singleelement selected from X, Y, and Z, a combination of elements selectedfrom the same class (e.g., X₁ and X₂) as well as a combination ofelements selected from two or more classes (e.g., Y₁ and Z_(o)).

The term “a” or “an” entity refers to one or more of that entity. Assuch, the terms “a” (or “an”), “one or more” and “at least one” can beused interchangeably herein. It is also to be noted that the terms“comprising”, “including”, and “having” can be used interchangeably.

The preceding is a simplified summary of the disclosure to provide anunderstanding of some aspects of the disclosure. This summary is neitheran extensive nor exhaustive overview of the disclosure and its variousaspects, embodiments, and configurations. It is intended neither toidentify key or critical elements of the disclosure nor to delineate thescope of the disclosure but to present selected concepts of thedisclosure in a simplified form as an introduction to the more detaileddescription presented below. As will be appreciated, other aspects,embodiments, and configurations of the disclosure are possibleutilizing, alone or in combination, one or more of the features setforth above or described in detail below.

Numerous additional features and advantages of the present inventionwill become apparent to those skilled in the art upon consideration ofthe embodiment descriptions provided hereinbelow.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings are incorporated into and form a part of thespecification to illustrate several examples of the present disclosure.These drawings, together with the description, explain the principles ofthe disclosure. The drawings simply illustrate preferred and alternativeexamples of how the disclosure can be made and used and are not to beconstrued as limiting the disclosure to only the illustrated anddescribed examples. Further features and advantages will become apparentfrom the following, more detailed, description of the various aspects,embodiments, and configurations of the disclosure, as illustrated by thedrawings referenced below.

FIG. 1 is a block diagram of a system according to at least oneembodiment of the present disclosure;

FIG. 2 is a flowchart according to at least one embodiment of thepresent disclosure;

FIG. 3 is a flowchart according to at least one embodiment of thepresent disclosure;

FIG. 4 is a flowchart according to at least one embodiment of thepresent disclosure;

FIG. 5 is a flowchart according to at least one embodiment of thepresent disclosure;

FIG. 6 is a flowchart according to at least one embodiment of thepresent disclosure; and

FIG. 7 is a flowchart according to at least one embodiment of thepresent disclosure.

DETAILED DESCRIPTION

It should be understood that various aspects disclosed herein may becombined in different combinations than the combinations specificallypresented in the description and accompanying drawings. It should alsobe understood that, depending on the example or embodiment, certain actsor events of any of the processes or methods described herein may beperformed in a different sequence, and/or may be added, merged, or leftout altogether (e.g., all described acts or events may not be necessaryto carry out the disclosed techniques according to different embodimentsof the present disclosure). In addition, while certain aspects of thisdisclosure are described as being performed by a single module or unitfor purposes of clarity, it should be understood that the techniques ofthis disclosure may be performed by a combination of units or modulesassociated with, for example, a computing device and/or a medicaldevice.

In one or more examples, the described methods, processes, andtechniques may be implemented in hardware, software, firmware, or anycombination thereof. If implemented in software, the functions may bestored as one or more instructions or code on a computer-readable mediumand executed by a hardware-based processing unit. Alternatively oradditionally, functions may be implemented using machine learningmodels, neural networks, artificial neural networks, or combinationsthereof (alone or in combination with instructions). Computer-readablemedia may include non-transitory computer-readable media, whichcorresponds to a tangible medium such as data storage media (e.g., RAM,ROM, EEPROM, flash memory, or any other medium that can be used to storedesired program code in the form of instructions or data structures andthat can be accessed by a computer).

Instructions may be executed by one or more processors, such as one ormore digital signal processors (DSPs), general purpose microprocessors(e.g., Intel Core i3, i5, i7, or i9 processors; Intel Celeronprocessors; Intel Xeon processors; Intel Pentium processors; AMD Ryzenprocessors; AMD Athlon processors; AMD Phenom processors; Apple A10 or10X Fusion processors; Apple A11, A12, A12X, A12Z, or A13 Bionicprocessors; or any other general purpose microprocessors), graphicsprocessing units (e.g., Nvidia GeForce RTX 2000-series processors,Nvidia GeForce RTX 3000-series processors, AMD Radeon RX 5000-seriesprocessors, AMD Radeon RX 6000-series processors, or any other graphicsprocessing units), application specific integrated circuits (ASICs),field programmable logic arrays (FPGAs), or other equivalent integratedor discrete logic circuitry. Accordingly, the term “processor” as usedherein may refer to any of the foregoing structure or any other physicalstructure suitable for implementation of the described techniques. Also,the techniques could be fully implemented in one or more circuits orlogic elements.

Before any embodiments of the disclosure are explained in detail, it isto be understood that the disclosure is not limited in its applicationto the details of construction and the arrangement of components setforth in the following description or illustrated in the drawings. Thedisclosure is capable of other embodiments and of being practiced or ofbeing carried out in various ways. Also, it is to be understood that thephraseology and terminology used herein is for the purpose ofdescription and should not be regarded as limiting. The use of“including,” “comprising,” or “having” and variations thereof herein ismeant to encompass the items listed thereafter and equivalents thereofas well as additional items. Further, the present disclosure may useexamples to illustrate one or more aspects thereof. Unless explicitlystated otherwise, the use or listing of one or more examples (which maybe denoted by “for example,” “by way of example,” “e.g.,” “such as,” orsimilar language) is not intended to and does not limit the scope of thepresent disclosure.

The terms proximal and distal are used in this disclosure with theirconventional medical meanings, proximal being closer to the operator oruser of the system, and further from the region of surgical interest inor on the patient, and distal being closer to the region of surgicalinterest in or on the patient, and further from the operator or user ofthe system.

Consolidation of different technologies in the same surgical system usedfor a surgical procedure is becoming more common, along with providingan improved accuracy that can enable or improve clinical sections of theprocedure and its clinical outcomes. As more technologies are combined,a transformation chain (i.e., an amount of different coordinate systemscombinations in a row needed from a patient anatomy to an operationaltool or software) may decrease an accuracy of a registration (e.g.,error may build up which each transformation change in a resultingcoordinate system alignment). Hence, in general, more transformations ina transformation chain may cause the accuracy error to increase.

At least one embodiment according to the present disclosure enables twoor more different registration paths in a single acquisition set toenable two separate correlations, which may provide at least twobenefits. First, an accuracy of each of the paths may be improved. In aconventional path for a Mazor X Stealth Edition system, for example,correlating a patient anatomy to a robot system to a navigation systemmay result in an increased error for the navigation system as thenavigation system's error is built on top of the robotic system. If theorder is reversed (e.g., correlating a patient anatomy to a navigationsystem to a robot system), then the robot may have an increased error asthe robot builds error on top of the navigation system. By enabling twoseparate registration paths, the errors may be decreased or eliminatedas the patient anatomy is directly and independently correlated to therobotic system in addition to being directly and independentlycorrelated to the navigation system. Second, the different registrationprocesses may be used to verify each registration process and act as anadditional safety or error reduction (by any type of error averaging).

At least one embodiment according to the present disclosure enablesdifferent systems to use the same acquisition set (e.g., an O-armauto-registration may use an O-arm navigation tracker and at the sametime a location of beads on a marker within the same image acquired maybe analyzed (the beads may be, for example, a star marker or aSpineAir). The combination of the two registrations may be performedtwice (e.g., for comparison reasons). First, using a transformationbetween the patient anatomy to the robot system to the navigation systemmay be performed and then a transformation between the patient anatomyto the navigation system to the robot system (in a different method) maybe performed. Both transformations may be measured and compared to oneother and may enable a user to use both navigation and robotics (in thisexample) each per its registration method (e.g., using the shortertransformation chain).

The present disclosure provides value at least by enabling more featuresto a user that may require higher safety factors.

Embodiments of the present disclosure provide technical solutions to oneor more of the problems of (1) correlating multiple systems used for asurgical procedure, (2) decreasing registration accuracy errors, (3)validating one or more registration processes, and (4) increasingpatient safety.

Turning first to FIG. 1, a block diagram of a system 100 according to atleast one embodiment of the present disclosure is shown. The system 100may be used to generate multiple registrations and/or carry out one ormore other aspects of one or more of the methods disclosed herein. Thesystem 100 comprises a computing device 102, one or more imaging devices112, a robot 114, a navigation system 118, a database 130, and/or acloud or other network 134. Systems according to other embodiments ofthe present disclosure may comprise more or fewer components than thesystem 100. For example, the system 100 may not include the imagingdevice 112, the robot 114, the navigation system 118, one or morecomponents of the computing device 102, the database 130, and/or thecloud 134.

The computing device 102 comprises a processor 104, a memory 106, acommunication interface 108, and a user interface 110. Computing devicesaccording to other embodiments of the present disclosure may comprisemore or fewer components than the computing device 102.

The processor 104 of the computing device 102 may be any processordescribed herein or any similar processor. The processor 104 may beconfigured to execute instructions stored in the memory 106, whichinstructions may cause the processor 104 to carry out one or morecomputing steps utilizing or based on data received from the imagingdevice 112, the robot 114, the navigation system 118, the database 130,and/or the cloud 134.

The memory 106 may be or comprise RAM, DRAM, SDRAM, other solid-statememory, any memory described herein, or any other tangible,non-transitory memory for storing computer-readable data and/orinstructions. The memory 106 may store information or data useful forcompleting, for example, any step of the methods 200, 300, 400, 500,600, and/or 700 described herein, or of any other methods. The memory106 may store, for example, one or more image processing algorithms 120and/or one or more registration algorithms 122. Such instructions oralgorithms may, in some embodiments, be organized into one or moreapplications, modules, packages, layers, or engines. Alternatively oradditionally, the memory 106 may store other types of data (e.g.,machine learning modes, artificial neural networks, etc.) that can beprocessed by the processor 104 to carry out the various method andfeatures described herein. Thus, although various components of memory106 are described as instructions, it should be appreciated thatfunctionality described herein can be achieved through use ofinstructions, algorithms, and/or machine learning models. The data,algorithms and/or instructions may cause the processor 104 to manipulateor otherwise process data stored in the memory 106 and/or received fromor via the imaging device 112, the robot 114, the database 130, and/orthe cloud 134.

The computing device 102 may also comprise a communication interface108. The communication interface 108 may be used for receiving imagedata or other information from an external source (such as the imagingdevice 112, the robot 114, the navigation system 118, the database 130,the cloud 134, and/or any other system or component not part of thesystem 100), and/or for transmitting instructions, images, or otherinformation to an external system or device (e.g., another computingdevice 102, the imaging device 112, the robot 114, the navigation system118, the database 130, the cloud 134, and/or any other system orcomponent not part of the system 100). The communication interface 108may comprise one or more wired interfaces (e.g., a USB port, an ethernetport, a Firewire port) and/or one or more wireless transceivers orinterfaces (configured, for example, to transmit and/or receiveinformation via one or more wireless communication protocols such as802.11a/b/g/n, Bluetooth, NFC, ZigBee, and so forth). In someembodiments, the communication interface 108 may be useful for enablingthe device 102 to communicate with one or more other processors 104 orcomputing devices 102, whether to reduce the time needed to accomplish acomputing-intensive task or for any other reason.

The computing device 102 may also comprise one or more user interfaces110. The user interface 110 may be or comprise a keyboard, mouse,trackball, monitor, television, screen, touchscreen, and/or any otherdevice for receiving information from a user and/or for providinginformation to a user. The user interface 110 may be used, for example,to receive a user selection or other user input regarding any step ofany method described herein. Notwithstanding the foregoing, any requiredinput for any step of any method described herein may be generatedautomatically by the system 100 (e.g., by the processor 104 or anothercomponent of the system 100) or received by the system 100 from a sourceexternal to the system 100. In some embodiments, the user interface 110may be useful to allow a surgeon or other user to modify instructions tobe executed by the processor 104 according to one or more embodiments ofthe present disclosure, and/or to modify or adjust a setting of otherinformation displayed on the user interface 110 or correspondingthereto.

Although the user interface 110 is shown as part of the computing device102, in some embodiments, the computing device 102 may utilize a userinterface 110 that is housed separately from one or more remainingcomponents of the computing device 102. In some embodiments, the userinterface 110 may be located proximate one or more other components ofthe computing device 102, while in other embodiments, the user interface110 may be located remotely from one or more other components of thecomputer device 102.

The imaging device 112 may be operable to image anatomical feature(s)(e.g., a bone, veins, tissue, etc.) and/or other aspects of patientanatomy to yield image data (e.g., image data depicting or correspondingto a bone, veins, tissue, etc.). “Image data” as used herein refers tothe data generated or captured by an imaging device 112, including in amachine-readable form, a graphical/visual form, and in any other form.In various examples, the image data may comprise data corresponding toan anatomical feature of a patient, or to a portion thereof. The imagedata may be or comprise a preoperative image, an intraoperative image, apostoperative image, a series of images (e.g., video), and/or an imagetaken independently of any surgical procedure. In some embodiments, afirst imaging device 112 may be used to obtain first image data (e.g., afirst image) at a first time, and a second imaging device 112 may beused to obtain second image data (e.g., a second image) at a second timeafter the first time. The imaging device 112 may be capable of taking a2D image or a 3D image to yield the image data. The imaging device 112may be or comprise, for example, an ultrasound scanner (which maycomprise, for example, a physically separate transducer and receiver, ora single ultrasound transceiver), an O-arm, a C-arm, a G-arm, or anyother device utilizing X-ray-based imaging (e.g., a fluoroscope, a CTscanner, or other X-ray machine), a magnetic resonance imaging (MM)scanner, an optical coherence tomography (OCT) scanner, an endoscope, amicroscope, an optical camera, a thermographic camera (e.g., an infraredcamera), a radar system (which may comprise, for example, a transmitter,a receiver, a processor, and one or more antennae), or any other imagingdevice 112 suitable for obtaining images of an anatomical feature of apatient. The imaging device 112 may be contained entirely within asingle housing, or may comprise a transmitter/emitter and areceiver/detector that are in separate housings or are otherwisephysically separated.

In some embodiments, the imaging device 112 may comprise more than oneimaging device 112. For example, a first imaging device may providefirst image data and/or a first image, and a second imaging device mayprovide second image data and/or a second image. In still otherembodiments, the same imaging device may be used to provide both thefirst image data and the second image data, and/or any other image datadescribed herein. The imaging device 112 may be operable to generate astream of image data. For example, the imaging device 112 may beconfigured to operate with an open shutter, or with a shutter thatcontinuously alternates between open and shut so as to capturesuccessive images. For purposes of the present disclosure, unlessspecified otherwise, image data may be considered to be continuousand/or provided as an image data stream if the image data represents twoor more frames per second.

The robot 114 may be any surgical robot or surgical robotic system. Therobot 114 may be or comprise, for example, the Mazor X™ Stealth Editionrobotic guidance system. The robot 114 may be configured to position theimaging device 112 at one or more precise position(s) andorientation(s), and/or to return the imaging device 112 to the sameposition(s) and orientation(s) at a later point in time. The robot 114may additionally or alternatively be configured to manipulate a surgicaltool (whether based on guidance from the navigation system 118 or not)to accomplish or to assist with a surgical task. In some embodiments,the robot 114 may be configured to hold and/or manipulate an anatomicalelement during or in connection with a surgical procedure. The robot 114may comprise one or more robotic arms 116. In some embodiments, therobotic arm 116 may comprise a first robotic arm and a second roboticarm, though the robot 114 may comprise more than two robotic arms. Insome embodiments, one or more of the robotic arms 116 may be used tohold and/or maneuver the imaging device 112. In embodiments where theimaging device 112 comprises two or more physically separate components(e.g., a transmitter and receiver), one robotic arm 116 may hold onesuch component, and another robotic arm 116 may hold another suchcomponent. Each robotic arm 116 may be positionable independently of theother robotic arm. The robotic arms may be controlled in a single,shared coordinate space, or in separate coordinate spaces.

The robot 114, together with the robotic arm 116, may have, for example,one, two, three, four, five, six, seven, or more degrees of freedom.Further, the robotic arm 116 may be positioned or positionable in anypose, plane, and/or focal point. The pose includes a position and anorientation. As a result, an imaging device 112, surgical tool, or otherobject held by the robot 114 (or, more specifically, by the robotic arm116) may be precisely positionable in one or more needed and specificpositions and orientations.

The robotic arm(s) 116 may comprise one or more sensors that enable theprocessor 104 (or a processor of the robot 114) to determine a precisepose in space of the robotic arm (as well as any object or element heldby or secured to the robotic arm).

In some embodiments, a tracking device 136 may be held by, placed on,affixed to, or otherwise secured to the robot 114 (including, e.g., onthe robotic arm 116), the imaging device 112, or any other object in thesurgical space. The tracking device 136 may comprise first referencemarkers (which may also be referred to herein simply as markers)configured to be detected and/or tracked by an imaging device such asthe imaging device 112, and second reference markers configured to bedetected and/or tracked by a navigation system such as the navigationsystem 118. For example, the tracking device may comprise metal ballsthat are detectable and/or trackable using an X-ray imaging device(including, for example, a C-arm, an O-arm, a fluoroscope), andinfrared-reflecting spheres that are detectable and/or trackable by thenavigation system 118 (including, for example, an infrared camera of thenavigation system 118). The results of the tracking may be used by therobot 114, a computing device 102, any other component of the system100, and/or by an operator of the system 100. In some embodiments, thenavigation system 118 can be used to track components of the systemother than the robot 114 (e.g., imaging device 112) and the system canoperate without the use of the robot 114 (e.g., with the surgeonmanually manipulating the imaging device 112 and/or one or more surgicaltools, based on information and/or instructions generated by thenavigation system 118, for example).

The navigation system 118 may provide navigation for a surgeon and/or asurgical robot during an operation. The navigation system 118 may be anynow-known or future-developed navigation system, including, for example,the Medtronic StealthStation™ S8 surgical navigation system or anysuccessor thereof. The navigation system 118 may include one or morecameras or other sensor(s) for tracking one or more reference markers,navigated trackers, or other objects within the operating room or otherroom in which some or all of the system 100 is located. The one or morecameras may be optical cameras, infrared cameras, or other cameras. Insome embodiments, the navigation system may comprise one or moreelectromagnetic sensors. In various embodiments, the navigation system118 may be used to track a position and orientation (i.e., pose) of theimaging device 112, the robot 114 and/or robotic arm 116, and/or one ormore surgical tools (or, more particularly, to track a pose of anavigated tracker attached, directly or indirectly, in fixed relation tothe one or more of the foregoing). The navigation system 118 may includea display for displaying one or more images from an external source(e.g., the computing device 102, imaging device 112, or other source) orfor displaying an image and/or video stream from the one or more camerasor other sensors of the navigation system 118. In some embodiments, thesystem 100 can operate without the use of the navigation system 118. Thenavigation system 118 may be configured to provide guidance to a surgeonor other user of the system 100 or a component thereof, to the robot114, or to any other element of the system 100 regarding, for example, apose of one or more anatomical elements, whether or not a tool is in theproper trajectory, and/or how to move a tool into the proper trajectoryto carry out a surgical task according to a preoperative or othersurgical plan.

The system 100 or similar systems may be used, for example, to carry outone or more aspects of any of the methods 200, 300, 400, 500, 600 and/or700 described herein. The system 100 or similar systems may also be usedfor other purposes.

FIG. 2 depicts a method 200 that may be used, for example, to generatetwo independent registrations, including, for example, one registrationbetween a robotic coordinate system and a patient coordinate system, andanother registration between a navigation coordinate system and thepatient coordinate system.

The method 200 (and/or one or more steps thereof) may be carried out orotherwise performed, for example, by at least one processor. The atleast one processor may be the same as or similar to the processor(s)104 of the computing device 102 described above. The at least oneprocessor may be part of a robot (such as a robot 114) or part of anavigation system (such as a navigation system 118). A processor otherthan any processor described herein may also be used to execute themethod 200. The at least one processor may perform the method 200 byexecuting instructions stored in a memory such as the memory 106. Theinstructions may correspond to one or more steps of the method 200described below. The instructions may cause the processor to execute oneor more algorithms, such as an image processing algorithm 120 and/or aregistration algorithm 122.

The method 200 comprises receiving an image depicting a patient'sanatomy and a tracking device (step 204). The image may be received viaa user interface such as the user interface 110 and/or a communicationinterface such as the communication interface 108 of a computing devicesuch as the computing device 102, and may be stored in a memory such asthe memory 106 of the computing device. The image may also be receivedfrom an external database or image repository (e.g., a hospital imagestorage system, such as a picture archiving and communication system(PACS), a health information system (HIS), and/or another system forcollecting, storing, managing, and/or transmitting electronic medicalrecords including image data), and/or via the Internet or anothernetwork. In other embodiments, the image may be received or obtainedfrom an imaging device such as the imaging device 112, which may be anyimaging device such as an MRI scanner, a CT scanner, any other X-raybased imaging device, or an ultrasound imaging device. The image mayalso be generated by and/or uploaded to any other component of a systemsuch as the system 100. In some embodiments, the image may be indirectlyreceived via any other component of the system or a node of a network towhich the system is connected.

The image may be a 2D image or a 3D image or a set of 2D and/or 3Dimages. In some embodiments, the image may be an X-ray image. The imagemay depict a patient's anatomy or portion thereof. In some embodiments,the image may be captured preoperatively (e.g., before surgery) and maybe stored in a system (e.g., a system 100) and/or one or more componentsthereof (e.g., a database 130). The stored image may then be received(e.g., by a processor 104), as described above, preoperatively (e.g.,before the surgery) and/or intraoperatively (e.g., during surgery).

In some embodiments, the image may depict an anatomical portion of apatient. In other embodiments, the image may depict multiple anatomicalelements associated with the patient anatomy, including incidentalanatomical elements (e.g., ribs or other anatomical objects on which asurgery or surgical procedure will not be performed) in addition totarget anatomical elements (e.g., vertebrae or other anatomical objectson which a surgery or surgical procedure is to be performed). The imagemay comprise various features corresponding to the patient's anatomyand/or anatomical elements (and/or portions thereof), includinggradients corresponding to boundaries and/or contours of the variousdepicted anatomical elements, varying levels of intensity correspondingto varying surface textures of the various depicted anatomical elements,combinations thereof, and/or the like. The image may depict any portionor part of patient anatomy and may include, but is in no way limited to,one or more vertebrae, ribs, lungs, soft tissues (e.g., skin, tendons,muscle fiber, etc.), a patella, a clavicle, a scapula, combinationsthereof, and/or the like.

The image may also depict a tracking device such as the tracking device136. In some embodiments, the tracking device may have first markersvisible in the image and second markers visible to a navigation systemsuch as the navigation system 118. For example, the tracking device maycomprise metal balls that are detectable and/or trackable using an X-rayimaging device (including, for example, a C-arm, an O-arm, afluoroscope), and infrared-reflecting spheres that are detectable and/ortrackable by the navigation system (including, for example, an infraredcamera of the navigation system). In some embodiments, the trackingdevice (and thus, in some instances, both the first markers and thesecond marker) may be affixed to a robotic arm such as the robotic arm116 or to any portion of a robot such as the robot 114. The robot may bean accurate robot. For example, the robot may have sensors to yieldsensor data including a pose of the robot or any portion of the robotthereof. In other embodiments, the first markers may be affixed to therobot and the second markers may be affixed to the patient. It will beappreciated that the tracking device may have any number of markersvisible and any marker may be visible in the image and/or detectable bythe navigation system.

Each image may be processed using an image processing algorithm such asthe image processing algorithm 120 to identify anatomical elementsand/or the tracking device in the image. In some embodiments, featurerecognition may be used to identify a feature of the anatomical elementor the tracking device. For example, a contour of a vertebrae, femur, orother bone may be identified in the image. In other embodiments, theimage processing algorithm may use artificial intelligence or machinelearning to identify the anatomical element and/or the tracking device.In such embodiments, a plurality of training images may be provided to aprocessor such as the processor 104, each training image annotated toinclude identifying information about a tracking device and/or ananatomical element in the image. The processor, executing instructionsstored in memory such as the memory 106 or in another memory, mayanalyze the images using a machine-learning algorithm and, based on theanalysis, generate one or more image processing algorithms such as theimage processing algorithms 120 for identifying anatomical elementsand/or objects such as the tracking device in an image.

The method 200 also comprises generating a first registration of apatient coordinate space to a robotic coordinate space based on theimage (step 208). The image may be the image received in step 204. Aprocessor such as the processor 104 may generate the first registration.Generating the first registration may utilize one or more registrationalgorithms, such as the registration algorithms 122. Generating thefirst registration may also be based on information about a pose of therobot (which may be obtained from, for example, sensors on the robotoperable to generate sensor data about a pose of the robot). In someembodiments, generating the first registration may include correlatingthe patient coordinate space to the robotic coordinate space based onthe tracking device depicted in the image and the pose of the robot. Insuch embodiments, because the tracking device is affixed to the robot(and more specifically, for example, the robotic arm) and a pose of therobot is known, a pose of the tracking device is also known. The knownpose of the tracking device and the image depicting the tracking devicemay be used to generate the first registration. In other words, theprocessor may correlate the patient anatomy depicted in the image (andthus, the patient coordinate space) to the robot (and thus, the roboticcoordinate space) based on the known pose of the tracking devicedepicted in the image.

The method 200 also comprises generating a second registration of thepatient coordinate space to a navigation coordinate space based at leastin part on a position of the tracking device detected by the navigationsystem (step 212). A processor such as the processor 104 may generatethe second registration. Generating the second registration may utilizeone or more registration algorithms, such as the registration algorithms122. Generating the second registration may be based at least in part ona position of the second markers detected by the navigation system. Apose of the second markers (and thus, a pose of the tracking device) maybe detectable by the navigation system. For example, the second markersmay be infrared light emitting diodes (ILEDs) and the navigation systemmay include an infrared camera operable to detect the ILEDs. Generatingthe second registration may also be based on the image received in step204. For example, a processor such as the processor 104 may correlatethe patient anatomy depicted in the image (and thus, the patientcoordinate space) to the navigation system based on the known pose ofthe tracking device depicted in the image.

It will be appreciated that the first registration generated in step 208is independent of the second registration generated in step 212. Byhaving independent registrations, various potential errors may bedetected, for example, a robotic error may be detected by the navigationsystem.

The method 200 also comprises verifying an accuracy of the firstregistration or the second registration (step 216). A processor, such asthe processor 104, may verify the accuracy of the first registrationand/or the second registration. The accuracy of the first registrationand/or the second registration may be verified automatically. In someinstances, step 216 may automatically occur when steps 204-212 (in anyorder) are completed.

Verifying the accuracy of the first registration and/or the secondregistration may comprise causing the robot and/or a navigated tool,respectively, to contact a known point relative to the patient'sanatomy. The known point relative to the patient's anatomy may be, insome examples, a point on an anatomical feature of the patient'sanatomy. Verifying the accuracy may also comprise comparing the knownpoint to a point as determined by a processor such as the processor 104using the first registration and/or the second registration. Forexample, the known point may be a point on a vertebra. The known pointon the vertebra as determined by the robot and/or the navigated tool maybe compared to the point on the vertebra as determined based on thefirst registration and/or the second registration, respectively. Amismatch of the known point based on the robot and/or the navigated tooland the point based on the first registration and/or the secondregistration, respectively, may indicate that the first registrationand/or the second registration may be inaccurate. A match of the knownpoint based on the robot and/or the navigated tool and the point basedon the first registration and/or the second registration may indicatethat the first registration and/or the second registration, respectivelyis accurate.

In some embodiments, verifying the accuracy of the first registrationand/or the second registration may comprise determining whether therobot, when positioned based on the first registration, and a navigatedtool, when positioned based on the second registration, reach apredetermined position. The predetermined position may be relative tothe patient's anatomy in some embodiments. In other embodiments, thepredetermined position may be relative to any component of a system suchas the system 100. The predetermined position may be determinedautomatically in some embodiments. For example, the processor mayautomatically select a position on the patient or a distinguishableposition in the surgical room as the predetermined position. In otherembodiments, the predetermined position may be or comprise, or be basedon, surgeon input received via the user interface. In furtherembodiments, the predetermined position may be determined automaticallyby the processor, and may thereafter be reviewed and approved (ormodified) by a surgeon or other user.

It will be appreciated that step 216 is an example step for verifyingthe accuracy of the first registration and/or the second registration.Methods 300, 400, 500, and 600 described below are also example methodsfor verifying the accuracy of the first and/or second registrations.

The present disclosure encompasses embodiments of the method 200 thatcomprise more or fewer steps than those described above, and/or one ormore steps that are different than the steps described above.

FIG. 3 depicts a method 300 that may be used, for example, to verify anaccuracy of the first and/or second registrations described above inconnection with FIG. 2.

The method 300 (and/or one or more steps thereof) may be carried out orotherwise performed, for example, by at least one processor. The atleast one processor may be the same as or similar to the processor(s)104 of the computing device 102 described above. The at least oneprocessor may be part of a robot (such as a robot 114) or part of anavigation system (such as a navigation system 118). A processor otherthan any processor described herein may also be used to execute themethod 300. The at least one processor may perform the method 300 byexecuting instructions stored in a memory such as the memory 106. Theinstructions may correspond to one or more steps of the method 300described below. The instructions may cause the processor to execute oneor more algorithms, such as an image processing algorithm 120 and/or aregistration algorithm 122.

The method 300 comprises generating a third registration of the roboticcoordinate space to the navigation coordinate space based on the firstregistration (step 304). Generating the third registration may utilizeone or more registration algorithms, such as the registration algorithms122. A processor such as the processor 104 may correlate the roboticcoordinate space to the navigation coordinate space based on the firstregistration. As a result, the patient coordinate space will becorrelated to the robotic space, which will be correlated to thenavigation space.

The method 300 also comprises generating a fourth registration of thenavigation coordinate space to the robotic coordinate space based on thesecond registration (step 308). Generating the fourth registration mayutilize one or more registration algorithms, such as the registrationalgorithms 122. A processor such as the processor 104 may correlate thenavigation coordinate space to the robotic coordinate space based on thesecond registration. As a result, the patient coordinate space will becorrelated to the navigation space, which will be correlated to therobotic coordinate space.

The method 300 also comprises comparing the third registration to thefourth registration to yield an error determination (step 312).Comparing the third registration to the fourth registration may comprisedetermining a point by a processor such as the processor 104 using thethird registration and determining the point by the processor using thefourth registration. The point based on the third registration may becompared to the point based on the fourth registration to yield theerror determination. A mismatch of the point based on the thirdregistration and the point based on the fourth registration may indicatethat an error has occurred and that the first registration and/or thesecond registration may be inaccurate. A match of the point based on thethird registration and the point based on the fourth registration mayindicate that an error has not occurred and that the first registrationand/or the second registration is accurate.

The present disclosure encompasses embodiments of the method 300 thatcomprise more or fewer steps than those described above, and/or one ormore steps that are different than the steps described above.

FIG. 4 depicts a method 400 that may be used, for example, to verify anaccuracy of the first and second registrations described above inconnection with FIG. 2.

The method 400 (and/or one or more steps thereof) may be carried out orotherwise performed, for example, by at least one processor. The atleast one processor may be the same as or similar to the processor(s)104 of the computing device 102 described above. The at least oneprocessor may be part of a robot (such as a robot 114) or part of anavigation system (such as a navigation system 118). A processor otherthan any processor described herein may also be used to execute themethod 400. The at least one processor may perform the method 400 byexecuting instructions stored in a memory such as the memory 106. Theinstructions may correspond to one or more steps of the method 400described below. The instructions may cause the processor to execute oneor more algorithms, such as an image processing algorithm 120 and/or aregistration algorithm 122.

The method 400 comprises comparing a first tool pose of a navigated toolwith a predetermined tool pose (step 404). The first tool pose may bedetermined by a navigation system such as the navigation system 118detecting, for example, a tracking device such as the tracking device136 affixed to the navigated tool.

In some embodiments, the navigated tool may be at least partiallysupported and/or oriented by a robot, such as the robot 114, and morespecifically, may be supported and/or oriented by a robotic arm such asthe robotic arm 116 of the robot. The robot may be an accurate robot inwhich sensors on the robot may yield sensor data including a pose of therobot or any portion of the robot thereof. In other embodiments, thenavigated tool may be affixed to any portion of the robot 114. In suchembodiments where the navigated tool is supported or oriented by therobot or robotic arm, the predetermined tool pose may be determined fromthe robot.

In still other embodiments, the navigated tool may be affixed to anycomponent of a system such as the system 100 or the patient. In suchembodiments, determining the predetermined tool pose may comprisecausing the robot, respectively, to contact the navigated tool. A poseof the robot when the robot is contacting the navigated tool may beobtained from the robot and the pose of the robot may correlate to apose of the navigated tool. Thus, the predetermined tool pose may bebased on the pose of the robot when the robot contacts the navigatedtool.

The method 400 also comprises generating an alert when the first toolpose does not match the predetermined tool pose (step 408). The alertmay be a visual alert, an audible alert, or any type of alertcommunicated to a user. The alert may be communicated to the user via auser interface such as the user interface 110. In some embodiments, thealert may be automatically generated by the processor 104. In otherembodiments, the alert may be automatically generated by any componentof a system such as the system 100.

In some embodiments, the alert may simply notify a surgeon or othermedical provider that the first tool pose does not match thepredetermined tool pose. In other embodiments, the alert may prompt thesurgeon or other medical provider to re-generate the first registrationand/or the second registration and may require the surgeon or othermedical provider to confirm such re-generation. The alert may also causethe method 400, or any verification step (e.g., step 216, methods 300,500, or 600) to be repeated to confirm accuracy of the regenerated firstregistration and/or the second registration.

The present disclosure encompasses embodiments of the method 400 thatcomprise more or fewer steps than those described above, and/or one ormore steps that are different than the steps described above.

FIG. 5 depicts a method 500 that may be used, for example, to verify anaccuracy of the first and second registrations described above inconnection with FIG. 2.

The method 500 (and/or one or more steps thereof) may be carried out orotherwise performed, for example, by at least one processor. The atleast one processor may be the same as or similar to the processor(s)104 of the computing device 102 described above. The at least oneprocessor may be part of a robot (such as a robot 114) or part of anavigation system (such as a navigation system 118). A processor otherthan any processor described herein may also be used to execute themethod 500. The at least one processor may perform the method 500 byexecuting instructions stored in a memory such as the memory 106. Theinstructions may correspond to one or more steps of the method 500described below. The instructions may cause the processor to execute oneor more algorithms, such as an image processing algorithm 120 and/or aregistration algorithm 122.

The method 500 comprises defining a single point in space using thefirst registration to yield a first position (step 504). A processorsuch as the processor 104 may be used to define the single point toyield the first position. The first position may be relative to thepatient's anatomy. For example, the first point may be, in someexamples, a point on an anatomical feature of the patient's anatomy. Inother instances, the first point may be relative to a robot such as therobot 114. For example, the first point may be an end effector or a toolsupported by a robotic arm such as the robotic arm 116 of the robot. Inother embodiments, the first point may be relative to any component,instrument, or tool of a system such as the system 100 or a patient.

The method 500 also comprises defining the single point in space usingthe second registration to yield a second position (step 508). The step508 may be the same as or similar to the step 504 described above,except for the second registration is used to yield the second position.

The method 500 also comprises quantifying a difference between the firstposition and the second position (step 512). A processor such as theprocessor 104 may be used to quantify the difference between the firstposition and the second position. The processor may simply subtract an xand/or y coordinate of the first position from an x and/or y coordinateof the second position to determine the difference. In some embodiments,the difference may be tracked over time to detect and alert for changesthat may have occurred in a pose or position of, for example, the robot,the patient, a device, an instrument, and/or a tool.

In other embodiments, a position or a pose of a tracked device asdetermined using a registration generated by correlating a navigationcoordinate space to a robotic coordinate space to a patient coordinatespace may be compared to a position or a pose of the tracked device asdetermined using a registration generating by correlating a navigationcoordinate space to a patient coordinate space. The comparison maycorrelate to the difference. In at least some of the embodiments, thetracked device may be tracked by a navigation system such as thenavigation system 118.

The method 500 also comprises comparing the difference to apredetermined threshold (step 516). A processor such as the processor104 may be used to compare the difference quantified in step 512 to thepredetermined threshold. The predetermined threshold may correlate to anacceptable difference between the first position and the second positionthat may be, for example, clinically irrelevant.

The predetermined threshold may be determined automatically usingartificial intelligence and training data (e.g., historical cases) insome embodiments. In other embodiments, the predetermined threshold maybe or comprise, or be based on, surgeon input received via the userinterface. In further embodiments, the predetermined threshold may bedetermined automatically using artificial intelligence, and maythereafter be reviewed and approved (or modified) by a surgeon or otheruser.

The present disclosure encompasses embodiments of the method 500 thatcomprise more or fewer steps than those described above, and/or one ormore steps that are different than the steps described above.

FIG. 6 depicts a method 600 that may be used, for example, to verify anaccuracy of the first and second registrations described above inconnection with FIG. 2.

The method 600 (and/or one or more steps thereof) may be carried out orotherwise performed, for example, by at least one processor. The atleast one processor may be the same as or similar to the processor(s)104 of the computing device 102 described above. The at least oneprocessor may be part of a robot (such as a robot 114) or part of anavigation system (such as a navigation system 118). A processor otherthan any processor described herein may also be used to execute themethod 600. The at least one processor may perform the method 600 byexecuting instructions stored in a memory such as the memory 106. Theinstructions may correspond to one or more steps of the method 600described below. The instructions may cause the processor to execute oneor more algorithms, such as an image processing algorithm 120 and/or aregistration algorithm 122.

The method 600 comprises generating instructions for causing an accuraterobot to contact a fiducial associated with a patient, using a firstregistration (step 604). The first registration may be the same as orsimilar to the first registration generated in step 208 of method 200.The robot may be the same as or similar to the robot 114. Theinstructions may be generated automatically by, for example, a processorsuch as the processor 104. In some embodiments, the fiducial may be atracking device such as the tracking device 136. In other embodiments,the fiducial may simply be a component such as, for example, a tool orinstrument, of a system such as the system 100. The fiducial may beattached to the patient in some embodiments, and may not be attached tothe patient in other embodiments. For example, the fiducial may beattached to an operating bed supporting the patient. In another example,the fiducial may be attached directly to a bone of the patient.

Causing the robot to contact the fiducial may include determining aposition of the robot when the robot is contacting the fiducial. Therobot may, for example, have sensors that may yield sensor data havinginformation about a pose (e.g., positions and orientation) of the robot.

The method 600 also comprises generating instructions for guiding anavigated tool to contact a fiducial associated with the patient, usingthe second registration (step 608). The second registration may be thesame as or similar to the second registration generated in step 212 ofmethod 200. The instructions may be generated automatically by, forexample, a processor such as the processor 104. The step 608 may be thesame as or similar to step 604 with respect to the fiducial. Further,the fiducial contacted by the navigated tool may be the same as thefiducial contacted by the accurate robot in step 604. In otherinstances, the fiducial contacted may be a different fiducial contactedby the accurate robot in step 604.

Causing the navigated tool to contact the fiducial may includedetermining a position of navigated tool when the tool is contacting thefiducial. The position of the navigated tool can be obtained from anavigation system such as the navigation system 118 (for example, thenavigation system may have a camera that can detect and track a trackingdevice such as the tracking device 136 affixed to the navigated tool).

The method 600 also comprises quantifying an error between the firstregistration and the second registration (step 612). The error may beautomatically quantified by, for example, a processor such as theprocessor 104. Quantifying the error between the first registration andthe second registration may include comparing the position of the robotwhen the robot contacts the fiducial in step 604 to the position of thenavigated tool when the navigation tool contacts the fiducial in step608. In some embodiments, the error may be based on a difference betweenthe position of the robot when the robot contacts the fiducial and theposition of the navigated tool when the navigated tool contacts thefiducial. In other embodiments, the error may be based on a differencebetween a position of the robot or the navigated tool and apredetermined position correlating to the fiducial.

The method 600 also comprises generating an alert if the quantifiederror exceeds a predetermined threshold (step 616). The step 616 may bethe same as or similar to the step 408 of method 400 with respect togenerating an alert. The step 616 may also be the same as or similar tothe step 516 with respect to a predetermined threshold.

In some embodiments, the alert may simply notify a surgeon or othermedical provider that the quantified error exceeds the predeterminedthreshold. In other embodiments, the alert may prompt the surgeon orother medical provider to re-generate the first registration and/or thesecond registration and may require the surgeon or other medicalprovider to confirm such re-generation. The alert may also cause themethod 600, or any verification step (e.g., step 216, methods 400, 300,or 500) to be repeated to confirm accuracy of the first registrationand/or the second registration.

The method 600 also comprises identifying, when the quantified errorexceeds a predetermined threshold, whether the quantified error isattributable to the first registration, the second registration, or amovement of the patient's anatomy (step 620). For example, theinstructions for causing the accurate robot to contact the fiducial asdescribed in step 604 may include determining a predetermined positioncorrelating to a position of the fiducial for the robot to orient to.Once the robot has moved to the predetermined position, a pose of therobot as determined from the robot can be compared to the predeterminedposition. If the pose of the robot is different from the predeterminedposition, than the quantified error may be attributable to the firstregistration.

In another example, the instructions for causing the navigated tool tocontact the fiducial as described in step 608 may include apredetermined position correlating to a position of the fiducial for thenavigated tool to move to. Once the navigated tool has moved to thepredetermined position, a position of the tool as determined from thenavigated system can be compared to the predetermined position. If thepose of the navigated tool is different from the predetermined position,than the quantified error may be attributable to the secondregistration.

In another example, a tracking device such as the tracking device 136may be disposed on a patient and a camera of the navigation system maybe positioned to obtain information about the tracking deviceincrementally or continuously. A processor such as the processor 104 maydetect movement of the tracking device based on the information obtainedfrom the camera. In some embodiments, the processor may compare aposition of the tracking device in a first instance to a secondinstance. Movement of the tracking device may indicate that thequantified error is attributable to movement of the patient.

The present disclosure encompasses embodiments of the method 600 thatcomprise more or fewer steps than those described above, and/or one ormore steps that are different than the steps described above.

FIG. 7 depicts a method 700 that may be used, for example, to generatetwo independent registrations using a single acquisition set.

The method 700 (and/or one or more steps thereof) may be carried out orotherwise performed, for example, by at least one processor. The atleast one processor may be the same as or similar to the processor(s)104 of the computing device 102 described above. The at least oneprocessor may be part of a robot (such as a robot 114) or part of anavigation system (such as a navigation system 118). A processor otherthan any processor described herein may also be used to execute themethod 700. The at least one processor may perform the method 700 byexecuting instructions stored in a memory such as the memory 106. Theinstructions may correspond to one or more steps of the method 700described below. The instructions may cause the processor to execute oneor more algorithms, such as an image processing algorithm 120 and/or aregistration algorithm 122.

The method 700 comprises receiving an image depicting a portion of apatient's anatomy and a tracking device affixed to an accurate robot(step 704). The step 704 may be the same as or similar to the step 204of method 200 described above.

The method 700 also comprises correlating a robot coordinate system anda patient coordinate system, based on the image and a known pose of theaccurate robot, to yield a first registration (step 708). The step 708may be the same as or similar to the step 208 of method 200 describedabove.

The method 700 also comprises correlating a navigation coordinate systemand the patient coordinate system, based on a position of the trackingdevice detected by the navigation system and the image, to yield asecond registration (step 712). The step 712 may be the same as orsimilar to the step 212 of method 200 described above.

The method 700 also comprises controlling one of the accurate robot anda navigated tool based on the first registration or the secondregistration, respectively (step 716). For example, instructions may begenerated by a processor, such as the processor 104, based on the firstregistration to cause the robot to move to a position and/or to orientand/or operate a tool or instrument. Instructions may also be generatedbased on the second registration to cause the navigated tool to be movedto a position or to perform a procedure. In some embodiments, thenavigated tool may be oriented by the robot or by a different robot andthe instructions may cause the robot (or the different robot) to orientthe navigated tool to a position.

The method 700 also comprises detecting an error in at least one of thefirst registration and the second registration (step 720). The step 720may be the same as or similar to step 612 of method 600. In someembodiments, the error may be detected by a navigation system such asthe navigation system 118 monitoring a tracking device such as thetracking device 136 affixed or otherwise disposed on a robot such as therobot 114. A pose of the tracking device may be obtained from the robot(and more specifically a pose of the robot is obtained from, forexample, sensors disposed or integrated with the robot and operable toyield sensor data containing information about a pose of the robot) anda pose of the tracking device may be determined by the navigationsystem. A mismatch between the pose of the tracking device as obtainedfrom the robot and determined by the navigation system may indicate anerror in at least one of the first registration and the secondregistration.

It will be appreciated that the step 720 may also incorporate steps frommethods 200, 300, 400, 500, or 600 with respect to verifying theaccuracy of the first registration and/or the second registration. Whenthe first registration and/or the second registration are found to beinaccurate, this may indicate that an error in at least one of the firstregistration and the second registration has occurred.

The method 700 also comprises identifying whether the error isattributable to the first registration, the second registration, or achange in pose of the patient's anatomy (step 724). The step 724 may bethe same as or similar to the step 620 of method 600 described above.

The present disclosure encompasses embodiments of the method 700 thatcomprise more or fewer steps than those described above, and/or one ormore steps that are different than the steps described above.

As noted above, the present disclosure encompasses methods with fewerthan all of the steps identified in FIGS. 2, 3, 4, 5, 6, and 7 (and thecorresponding description of the methods 200, 300, 400, 500, 600, and700), as well as methods that include additional steps beyond thoseidentified in FIGS. 2, 3, 4, 5, 6, and 7 (and the correspondingdescription of the methods 200, 300, 400, 500, 600, and 700). Thepresent disclosure also encompasses methods that comprise one or moresteps from one method described herein, and one or more steps fromanother method described herein. Any correlation described herein may beor comprise a registration or any other correlation.

The foregoing is not intended to limit the disclosure to the form orforms disclosed herein. In the foregoing Detailed Description, forexample, various features of the disclosure are grouped together in oneor more aspects, embodiments, and/or configurations for the purpose ofstreamlining the disclosure. The features of the aspects, embodiments,and/or configurations of the disclosure may be combined in alternateaspects, embodiments, and/or configurations other than those discussedabove. This method of disclosure is not to be interpreted as reflectingan intention that the claims require more features than are expresslyrecited in each claim. Rather, as the following claims reflect,inventive aspects lie in less than all features of a single foregoingdisclosed aspect, embodiment, and/or configuration. Thus, the followingclaims are hereby incorporated into this Detailed Description, with eachclaim standing on its own as a separate preferred embodiment of thedisclosure.

Moreover, though the foregoing has included description of one or moreaspects, embodiments, and/or configurations and certain variations andmodifications, other variations, combinations, and modifications arewithin the scope of the disclosure, e.g., as may be within the skill andknowledge of those in the art, after understanding the presentdisclosure. It is intended to obtain rights which include alternativeaspects, embodiments, and/or configurations to the extent permitted,including alternate, interchangeable and/or equivalent structures,functions, ranges or steps to those claimed, whether or not suchalternate, interchangeable and/or equivalent structures, functions,ranges or steps are disclosed herein, and without intending to publiclydedicate any patentable subject matter.

What is claimed is:
 1. A dual registration method comprising: receivingan image depicting a portion of a patient's anatomy and a trackingdevice affixed to an accurate robot, the tracking device having firstmarkers visible in the image and second markers visible to a navigationsystem; generating a first registration of a patient coordinate space toa robotic coordinate space based on the image; generating a secondregistration of the patient coordinate space to a navigation coordinatespace based at least in part on a position of the second markersdetected by the navigation system; wherein the first registration andthe second registration are independent of each other.
 2. The method ofclaim 1, wherein the first registration is also based on informationabout a pose of the accurate robot in the image.
 3. The method of claim1, wherein the image is an X-ray image.
 4. The method of claim 1,further comprising generating a third registration of the roboticcoordinate space to the navigation coordinate space based on the firstregistration.
 5. The method of claim 4, further comprising generating afourth registration of the navigation coordinate space to the roboticcoordinate space based on the second registration.
 6. The method ofclaim 5, further comprising comparing the third registration to thefourth registration to yield an error determination.
 7. The method ofclaim 1, further comprising verifying an accuracy of the firstregistration or the second registration by causing the accurate robot ora navigated tool, respectively, to contact a known point relative to thepatient's anatomy.
 8. The method of claim 7, wherein the known pointrelative to the patient's anatomy is a point on an anatomical feature ofthe patient's anatomy.
 9. The method of claim 1, further comprising:comparing a first tool pose of a navigated tool with a predeterminedtool pose, the first tool pose detected by the navigation system whilethe navigated tool is at least partially supported by the accuraterobot; and generating an alert when the first tool pose does not matchthe predetermined tool pose.
 10. The method of claim 1, furthercomprising: defining a single point in space using the firstregistration to yield a first position; defining the single point inspace using the second registration to yield a second position;quantifying a difference between the first position and the secondposition; and comparing the difference to a predetermined threshold. 11.A system for generating registrations, the system comprising: a trackingdevice affixed to an accurate robot, the tracking device comprisingfirst markers visible to an imaging device and second markers visible toa navigation system; a processor; and a memory storing data forprocessing by the processor, the data, when processed, causing theprocessor to: register a patient coordinate system to a roboticcoordinate system, based on an image depicting an anatomical portion ofa patient and the tracking device, to yield a first registration; andregister the patient coordinate system to a navigation coordinatesystem, based at least in part on a position of the second markersdetected by the navigation system, to yield a second registration;wherein the first registration and the second registration areindependent of each other.
 12. The system of claim 11, wherein thememory stores further data for processing by the processor that, whenprocessed, causes the processor to: generate instructions for causingthe accurate robot to contact a fiducial associated with the patient,using the first registration.
 13. The system of claim 11, wherein thememory stores further data for processing by the processor that, whenprocessed, causes the processor to: generate instructions for guiding anavigated tool to contact a fiducial associated with the patient, usingthe second registration.
 14. The system of claim 11, wherein the memorystores further data for processing by the processor that, whenprocessed, causes the processor to: quantify an error between the firstregistration and the second registration; and generate an alert if thequantified error exceeds a predetermined threshold.
 15. The system ofclaim 14, wherein the memory stores further data for processing by theprocessor that, when processed, causes the processor to: identify, whenthe quantified error exceeds a predetermined threshold, whether thequantified error is attributable to the first registration, the secondregistration, or a movement of the patient's anatomy.
 16. The system ofclaim 11, wherein the memory stores further data for processing by theprocessor that, when processed, causes the processor to: verify anaccuracy of the first registration or the second registration.
 17. Thesystem of claim 16, wherein the verifying comprises: determining whetherthe accurate robot, when positioned based on the first registration, anda navigated tool, when positioned based on the second registration,reach a predetermined position relative to the patient's anatomy. 18.The system of claim 16, wherein the verifying occurs automatically. 19.A system comprising: an imaging device; a processor; and a memorystoring data for processing by the processor that, when processed,causes the processor to: receive, from the imaging device, an imagedepicting a portion of a patient's anatomy and a tracking device affixedto an accurate robot, the tracking device having first markers visiblein the image and second markers visible to a navigation system;correlate a robot coordinate system and a patient coordinate system,based on the image and a known pose of the accurate robot, to yield afirst registration; correlate a navigation coordinate system and thepatient coordinate system, based on a position of the second markers asdetected by the navigation system and the image, to yield a secondregistration; and control one of the accurate robot and a navigated toolbased on the first registration or the second registration,respectively.
 20. The system of claim 19, wherein the memory storesfurther data for processing by the processor that, when processed,causes the processor to: detect an error in at least one of the firstregistration and the second registration; and identify whether the erroris attributable to the first registration, the second registration, or achange in pose of the patient's anatomy.